Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME avatar

Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME

Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME

Look up DNS records for thousands of domains at once — A, AAAA, MX, NS, TXT, CNAME, SOA and CAA — via DNS-over-HTTPS. Ideal for email deliverability (SPF/DMARC), security audits and migrations. No API key, export to CSV or JSON.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Bulk DNS Records Lookup 🌐 — A, MX, TXT, NS, CNAME & More

Look up DNS records for thousands of domains in a single run. This bulk DNS lookup tool queries every domain you give it for the record types you choose — A, AAAA, MX, NS, TXT, CNAME, SOA, CAA — over DNS-over-HTTPS and returns a clean, one-row-per-record table with values, TTLs and the resolver that answered.

Point it at a list of domains and it resolves them all in parallel. No API key, no local resolver, no rate-limit headaches. A few hundred domains across all record types quickly become thousands of rows you can export to CSV, Excel or JSON.

Looking for a DNS records lookup tool, an MX record checker, a TXT record lookup for SPF/DMARC, a nameserver lookup or a free bulk DNS lookup API without a key? This actor does all of it at scale.


✨ Key features

  • 🌐 Bulk lookups — resolve thousands of domains in a single run, in parallel.
  • 🧩 8 record types — A, AAAA, MX, NS, TXT, CNAME, SOA, CAA — pick any subset or query them all.
  • 📄 One row per record — every A address, every MX host and every TXT entry gets its own row for easy filtering and export.
  • 🔐 DNS-over-HTTPS — uses Cloudflare dns-query with an automatic Google fallback; no local DNS resolver needed.
  • 🧹 Clean values — TXT chunks are joined, trailing dots trimmed, MX priorities preserved (e.g. 10 smtp.google.com).
  • ⏱️ TTL captured — every record includes its TTL in seconds, exactly as returned by the resolver.
  • 🧪 Robust input parsinghttps://, paths, ports and trailing dots are stripped automatically; duplicates removed.
  • 🛟 Graceful on NXDOMAIN / empty — missing records simply produce no rows; the run never crashes.
  • High concurrency — configurable parallel lookups (default 10, up to 100).
  • 🔑 No API key — works out of the box with public DNS-over-HTTPS endpoints.

💡 Use cases

  • Email deliverability — pull MX and TXT across a domain portfolio to verify mail routing and valid SPF / DKIM / DMARC policies before a campaign.
  • Security & compliance audits — inventory CAA (allowed certificate authorities), NS delegation and mail routing across many domains at once.
  • Infra & DNS migrations — snapshot every record type before a hosting or DNS-provider cutover, run again after, and diff the datasets to confirm clean propagation.
  • Monitoring — schedule recurring runs on a cron and detect when records change over time.
  • Due diligence / OSINT — map infrastructure (A, AAAA, CNAME) and enrich large domain lists with live DNS metadata.

📦 What you get

Each row in the dataset is one DNS record:

FieldDescription
domainThe domain that was queried (normalized)
recordTypeThe record type (A, AAAA, MX, NS, TXT, CNAME, SOA, CAA)
valueThe record value — for MX it includes the priority (e.g. 10 smtp.google.com); for TXT the chunks are joined
ttlTime-to-live in seconds, as returned by the resolver
resolverWhich resolver answered (cloudflare or google)
checkedAtISO 8601 timestamp of when the lookup was performed

Record type reference

TypeWhat it tells you
AIPv4 address(es) the domain points to
AAAAIPv6 address(es)
MXMail servers and their priority — the basis of email routing
NSAuthoritative name servers for the zone
TXTFree-text records — SPF, DKIM, DMARC, domain-verification tokens
CNAMECanonical-name alias for the hostname
SOAStart-of-authority — primary NS, admin email, serial, refresh timers
CAAWhich certificate authorities are allowed to issue certs for the domain

Example output

[
{ "domain": "google.com", "recordType": "A", "value": "142.250.190.78", "ttl": 300, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
{ "domain": "google.com", "recordType": "MX", "value": "10 smtp.google.com", "ttl": 3600, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
{ "domain": "google.com", "recordType": "TXT", "value": "v=spf1 include:_spf.google.com ~all", "ttl": 3600, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
{ "domain": "github.com", "recordType": "NS", "value": "dns1.p08.nsone.net", "ttl": 86400, "resolver": "cloudflare", "checkedAt": "2026-06-15T18:00:00.000Z" },
{ "domain": "cloudflare.com", "recordType": "CAA", "value": "0 issue \"digicert.com\"", "ttl": 1800, "resolver": "google", "checkedAt": "2026-06-15T18:00:00.000Z" }
]

🚀 How to use it

  1. Click Try for free / Start.
  2. Paste your list of domains into Domains — one per line (example.com, or full URLs like https://example.com/path, both work).
  3. (Optional) Pick the Record Types you want — leave all 8 selected for a full DNS audit.
  4. (Optional) Tune Max Concurrency for large lists and keep Proxy enabled.
  5. Click Save & Start, then export the dataset as JSON, CSV, Excel or via API, and sort/filter by recordType.

⚙️ Input

FieldTypeDescriptionDefault
domainsarray (required)Domains / hostnames to look up. Schemes and paths are stripped automatically — example.com and https://example.com/path both work.
recordTypesarrayWhich record types to query for every domain. One of A, AAAA, MX, NS, TXT, CNAME, SOA, CAA.all 8
maxConcurrencyintegerParallel DNS-over-HTTPS lookups. Higher is faster.10 (max 100)
proxyConfigurationobjectProxy used for the lookups. Recommended to avoid resolver rate limiting.Apify Proxy (datacenter)

Example input

{
"domains": ["google.com", "github.com", "cloudflare.com"],
"recordTypes": ["A", "AAAA", "MX", "NS", "TXT", "CNAME", "SOA", "CAA"],
"maxConcurrency": 10,
"proxyConfiguration": { "useApifyProxy": true }
}

🔍 How it works

For every domain in your list, the actor sends one DNS-over-HTTPS query per requested record type. It uses Cloudflare (https://cloudflare-dns.com/dns-query) as the primary resolver, with an automatic Google (https://dns.google/resolve) fallback if Cloudflare doesn't answer — so lookups stay reliable from cloud environments where traditional UDP DNS is often blocked.

Each answer is parsed into individual records: TXT chunks are joined into a single string, MX records keep their priority, trailing dots are trimmed, and TTLs are preserved. Every record becomes its own row — so a domain with several A addresses, multiple MX hosts and a handful of TXT entries can easily yield 15–30 rows on its own. Non-existent domains (NXDOMAIN) and empty answers simply produce no rows; the run never crashes.

🧰 Tips & best practices

  • Provide bare domains (example.com) for the cleanest results; subdomains (mail.example.com) work too.
  • Select only the record types you need to keep runs lean — or select all 8 for a complete DNS audit.
  • Increase maxConcurrency for very large lists, and keep Apify Proxy enabled to avoid resolver rate limiting at scale.
  • Filter by recordType: "TXT" to isolate SPF / DKIM / DMARC policies; filter by MX to verify mail routing.
  • Export to CSV/Excel from the dataset tab to share findings with non-technical stakeholders, or schedule the run and diff datasets to monitor DNS changes over time.

❓ FAQ

How do I look up DNS records for many domains at once?

Paste your full list of domains into the Domains field and run the actor once. It resolves every domain in parallel over DNS-over-HTTPS and returns one row per record, so a single run can cover thousands of domains.

Can I check MX records in bulk?

Yes — select MX (alone or with other types) and the actor returns every mail server and its priority for each domain, e.g. 10 smtp.google.com. It works as a dedicated bulk MX record checker across your whole domain list.

How do I find SPF / DMARC TXT records?

Include TXT in the record types. SPF, DKIM and DMARC policies all live in TXT records, and this actor pulls them for every domain — making it a fast SPF / DMARC checker and TXT record lookup at scale.

Is this a free DNS lookup API without a key?

There's no API key to manage. The actor queries public DNS-over-HTTPS endpoints (Cloudflare, with a Google fallback) — you just provide a list of domains and run, then read results from the dataset or the Apify API.

Can I export DNS records to CSV or JSON?

Yes — every lookup is one row, so the dataset drops straight into a spreadsheet. Download it as CSV, JSON or Excel, or pull it through the REST API.

What happens with a non-existent domain (NXDOMAIN)?

The lookup completes cleanly and simply produces no rows for that domain/type. The run never crashes on missing or empty records.

Why DNS-over-HTTPS instead of normal DNS?

DoH works reliably from cloud environments where UDP DNS is often blocked, returns structured JSON, and pairs cleanly with Apify Proxy to avoid resolver rate limits at high volume.

📝 Changelog

2026-06-15

  • Initial release — bulk DNS lookup (A/AAAA/MX/NS/TXT/CNAME/SOA/CAA) via DNS-over-HTTPS, CSV/JSON export, no API key.